package com.jxust.vhr.service;

import com.jxust.debate.pojo.*;
import com.jxust.debate.util.CommonResult;
import org.springframework.stereotype.Repository;

@Repository
public interface CompanyAdminService {
    /**
     * 验证账号唯一性
     * @param caaccount 账号
     * @return 返回成功信息
     */
    CommonResult VerifyAccount(String caaccount);

    /**
     * 注册
     * @param companyAdministrator 注册信息
     * @param cacode 认证码
     * @return 返回成功信息
     */
    CommonResult Register(CompanyAdministrator companyAdministrator, Cacode cacode);

    /**
     * 登录
     * @param companyAdministrator 账号与密码
     * @return 返回登录信息（密码置空)
     */
    CommonResult<CompanyAdministrator> Login(CompanyAdministrator companyAdministrator);

    /**
     * 查询此管理员所属公司信息
     * @param caid 管理员ID
     * @return 返回公司信息
     */
    CommonResult<Company> Affiliation(String caid);

    /**
     * 创建公司部门
     * @param department 公司信息
     * @return 返回创建信息
     */
    CommonResult CreatDepartment(Department department);

    /**
     * 为部门管理员或HR创建认证码
     * @param cid 传入公司ID
     * @return 返回创建的认证码（返回的认证码首两字母为DM）
     */
    CommonResult<Dmcode> CodeCreate(String cid);
}
